#ifndef STM32L052_LP_MODE_H_
#define STM32L052_LP_MODE_H_
#include "stm32l0xx_hal.h"
/* Defines related to Clock configuration */    
/* Uncomment to enable the adaquate Clock Source */
#define RTC_CLOCK_SOURCE_LSI
/*#define RTC_CLOCK_SOURCE_LSE*/

#ifdef RTC_CLOCK_SOURCE_LSI
  #define RTC_ASYNCH_PREDIV    0x7F
  #define RTC_SYNCH_PREDIV     0x0130
#endif

#ifdef RTC_CLOCK_SOURCE_LSE
  #define RTC_ASYNCH_PREDIV  0x7F
  #define RTC_SYNCH_PREDIV   0x00FF
#endif

void RTC_Config(void);
void app_standby_config(void);
void lp_set_wakeup_time(uint32_t time);
void lp_standby_mode(void);
void lp_sleep_mode(void);
void lp_stop_mode(void);
void Lp_Stop_mode_SystemPower_Config(void);
void SystemClockConfig_STOP(void);
void SystemPower_Config(void);
void SystemPower_Config_Lp_Sleep(void);
void Clock_Disable_Config(void);

#endif //STM32L052_LP_MODE_H_
